Introduction
In RenderBoy, you create a design by combining simple 3D geometric objects such as blocks, cones, and spheres. Although these objects are very simple, more complex objects can be created by combining these simple objects in the appropriate ways. Refer to the images bundled with RenderBoy for examples of this. This chapter explains the geometric definitions of the objects which RenderBoy supports, as well as the different ways in which the objects can be combined.

Negative and Positive Objects
Unlike real 3D objects, RenderBoy objects can intersect with each other to any extent. All objects (with the exception of light source objects) come in two forms: positive objects and negative objects. Although all objects are completely visible when displayed in wire-frame, when rendered they may or may not be seen, as described here. Positive objects are made of positive material, and negative objects are made of negative material. You can imagine that positive material adds matter to a given point in 3D space, and negative material removes matter from a given point in 3D space. For example, suppose you want to create a block with a hole in it. First create the block. Then create a negative rod which represents the volume of the hole, and make the negative rod intersect with the block. When you render this, you will see a block with a hole in it.

Note that these material plusses and minuses are additive, so where there is more positive material than negative material, the object(s) will be seen. For example, a single positive object will appear as you would expect, since it is all positive material. Two or more positive objects can intersect, in which case you will see the material common to all of them. A negative object alone cannot be seen at all, since it is all negative material. A negative object which intersects a positive object will remove material from the positive object in the area where they intersect. If two positive objects intersect a negative object, the negative object will remove material from the individual positive objects, but not in the region where the positive objects intersect with each other. In summary, if you were to add the number of positive objects which occupy a given point in 3D space and subtract the number of negative objects which occupy that same point, then you will see material at that point if the result is greater than zero.

Sphere Object

The sphere is defined by an inner diameter (Diam1) and an outer diameter (Diam2). Thus, a sphere can actually be hollow like a basketball. The inner diameter must be less than the outer diameter, so that the "shell" of the sphere has some finite thickness. If the inner diameter is zero, then the sphere is completely solid. The sphere is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font.

 

Egg Object

The egg object is defined by a length, width, and height. Depending on the relative values of the three dimensions, the egg can be long like a pencil, flat like a pancake, or round like a sphere.  The egg is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font.

 

Rod Object

The rod object is defined by a length, width, and height. Depending on the relative values of the three dimensions, the rod can be long like a pencil or flat like a plate. Likewise, its cross-section will either be a circle or an oval. Unlike a tube (described next), a rod is always completely solid. The rod is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font. Note that the rod is one of the objects which has a primary axis. Upon creation, you will be asked whether this axis should be aligned with the front view, side view, or top view. The example below shows the axis aligned with front (lower left) view.

 

Tube Object

The tube object is defined by a length, an inner diameter (Diam1), and an outer diameter(Diam2). The inner diameter must be less than the outer diameter, so that the tube has some finite thickness. Depending on the relative values of the three dimensions, the tube can be long like a drinking straw, flat like a washer, or anything in between. If the inner diameter is zero, then the tube becomes a solid rod. The tube is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font. Note that the tube is one of the objects which has a primary axis. Upon creation, you will be asked whether this axis should be aligned with the front view, side view, or top view. The example below shows the axis aligned with front (lower left) view.

 

Cone Object

The cone object is defined by a length,  a small diameter on one end (Diam1), and a large diameter on the other (Diam2). It is not acceptable for the large diameter to be less than or equal to the small one. If the smaller diameter is zero, then one end of the cone will be pointy. Depending on the relative values of the three dimensions, the cone can be long like a pencil, flat like a pancake, or anything in between. The cone is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font. Note that the cone is one of the objects which has a primary axis. Upon creation, you will be asked whether this axis should be aligned with the front view, side view, or top view. The example below shows the axis aligned with front (lower left) view.

 

Bell Object

The bell object is defined by a length, a small diameter on one end (Diam1), and a large diameter on the other (Diam2). It is not acceptable for the large diameter to be less than or equal to the small one. If the smaller diameter is zero, then one end of the bell will be smoothly rounded over. Although it is called a bell because of its shape, it is always a completely solid object. Depending on the relative values of the three dimensions, the bell can be long like a pencil, flat like a pancake, or anything in between. The bell is available as both a positive object and a negative object. The positive version of the object is shown below. The wireframe display of the negative version is drawn the same, except with a grayed font. Note that the bell is one of the objects which has a primary axis. Upon creation, you will be asked whether this axis should be aligned with the front view, side view, or top view. The example below shows the axis aligned with front (lower left) view.

 

Block and Pyramid Objects

The block and pyramid objects are defined by a length, width, and height. Depending on the relative values of the three dimensions, the block/pyramid can be long and thin, flat and wide, etc.  The block/pyramid is available as both a positive object and a negative object. The positive version of the block object is shown below. The wireframe display of the negative block is drawn the same, except with a grayed font.  The pyramid is similar, but not shown below.

 

Light Object

The light is the simplest object, defined only by a diameter (Diam1). Because of the symmetry of its shape, it will appear the same regardless of its orientation. The light is different from all other objects, since it can only emit light. Since it cannot reflect, refract, or diffuse light, it will alway appear with uniformly bright shading. The light is only available as a positive object.

 

Object Groups

An "Object Group" is not a single object, but a group of objects (like those described above) automagically combined together to make a more complex shape.  You could also create these complex shapes by manually building up a group, but that would be a lot more work.  In fact, if you choose the "Layout -> Ungroup" menu item, the individual objects which make up a group can then be individually modified. 

The geometry and dimensions of the object groups supported by RenderBoy are defined in the dialog box (shown below) opened from the "Design -> New Object -> Object Group" menu item.

To use this dialog to create a group, just select the "new group type" you wish to create, enter values for the "new group dimension", then click "OK".